/*
 * ctensor.h
 *
 *	For my convenience to design 2x2 tensor fields
 *
 *  Created on: 27/08/2012
 *      Author: cvan680
 */

#ifndef CTENSOR_H_
#define CTENSOR_H_


namespace voreen {

class CTensor {

public:
    CTensor(float v11, float v12, float v21, float v22);
    virtual ~CTensor();

    // this actually represents the tensor 2x2 layout
    float t11; float t12;
    float t21; float t22;

    /*
    tgt::vec2 eigenVector();
    tgt::vec3 eigenVector3D();
*/
    // TODO calculate eigenvectors and such, for ease

};
/*
class CTensorField {

public:
	CTensorField(tgt::ivec2 dimensions);
	CTensorField(int xdimension, int ydimension);
	virtual ~CTensorField();

	void init();
	void set(int x, int y, CTensor *t);
	CTensor get(int x, int y);

	CTensor **tensorfield;
	tgt::ivec2 dims;
};

*/
}

#endif /* CTENSOR_H_ */
